package attend.action.attend;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;

import attend.UserContainer.User;
import attend.com.CodeMetrix;
import attend.com.Session;
import attend.dao.attend.AttendDao;
import attend.dao.attend.AttendManagerDao;
import attend.dao.common.CommonDao;

import com.opensymphony.xwork2.ActionContext;

import dao.Paging.PagingDAO;
import exception.BaseException;

/**
 * 근태확인 -관리자-
 * @author Yang Chang Hwan
 * @since	2009/02/02
 */
@SuppressWarnings("serial")
public class AttendManagerAction extends Session {
	/**
	 * Logger for this class
	 */
	private static final Logger logger = Logger.getLogger(AttendManagerAction.class);
	
	private AttendDao 			attendDao   =   null;
	
//	private AttendAction        attendAction = null;
	
	private List<String>        listCondition1 = null;
	
	private String               chk_in_msg;
	
	private String               chk_out_msg;

	private String				detailPopTitle;
	
	private String              yyyymmdd1;
	
	private String 				msg;

	private AttendManagerDao	attendManagerDao;			//관리자-근태관리확인 DAO
	
	private CommonDao			commonDao;					//공통 DAO
	
	private PagingDAO			pDao;						//페이징
	
	private String				s_date;						//현재 月의 1일짜
	
	private String				e_date;						//현재 月의 마지막일짜
	
	private int					emp_no;

	private String				sgroup						=	"ALL";	//그룹조회 	- <s:select />
	private String				steam						=	"ALL";	//팀조회 	 	- <s:select />
	private String				semp_no						=	"ALL";	//사원조회 	- <s:select />
	private String				confirm_yn					=	"N";	//확인조회 	- <s:select />
	private String				chk_in_type					=	"ALL";	//출근유형조회 - <s:select />
	private String				chk_out_type				=	"ALL";	//퇴근유형조회 - <s:select />
	private String				vacation_yn				    =	"ALL";	//휴가여부조회 - <s:select />
	private String				vacation_type				=	"ALL";	//휴가유형조회 - <s:select />
	private String				absence_type				=	"ALL";	//결근유형조회 - <s:select />
	private String				mgr_change_yn				=	"ALL";	//유형상세 변경 조회 - <s:select />
	private String				in_out_tp_condi				=	"ALL";	//출근퇴근분류 - <s:select />
	
	private String				h_vacation_type				=	"ALL";	//출근퇴근분류 - <s:select />
	public String getH_vacation_type() {		return h_vacation_type;	}
	public void setH_vacation_type(String hVacationType) {		h_vacation_type = hVacationType;	}

	private String				sp_work_gubun				=	"ALL";	//특근분류 - <s:select />
	public String getSp_work_gubun() {		return sp_work_gubun;	}
	public void setSp_work_gubun(String spWorkGubun) {		sp_work_gubun = spWorkGubun;	}

	private String				sp_work_type				=	"ALL";	//특근여부 - <s:select />
	public String getSp_work_type() {		return sp_work_type;	}
	public void setSp_work_type(String spWorkType) {		sp_work_type = spWorkType;	}

	private String				searchEmpNm					=	"";					//성명 찾기
	
	//20090801
	private String   			addVacation					=	"ALL";	//추가 휴가 적용여부 search condition
	
	private String   			vacation_gubun				=	"ALL";	// 휴가 구분 search condition
	private String   			vacation_detail				=	"ALL";	// 휴가 구분 search condition
	public String getVacation_gubun() {		return vacation_gubun;	}
	public void setVacation_gubun(String vacationGubun) {		vacation_gubun = vacationGubun;	}

	private String   			addVacation_gubun			=	"ALL";	//추가 휴가 적용구분 search condition
	public String getAddVacation_gubun() {		return addVacation_gubun;	}
	public void setAddVacation_gubun(String addVacationGubun) {		addVacation_gubun = addVacationGubun;	}

	private String				updateArgs			=	"";		//근태확인자  UPDATE Arguments.

	private List<HashMap<String, String>>	list;							//메인 조회 결과 List

	private HashMap<String, String>			hmCondition;
	
	
	private List<HashMap<String, String>>	listGroup			=	null;			//그룹 List
	
	private List<HashMap<String, String>>	listTeam			=	null;			//팀 List
	
	private List<HashMap<String, String>>	listEmp				=	null;			//팀 List
	
	private List<HashMap<String, String>>	listCheckInType		=	null;	//출근유형 List
	private List<HashMap<String, String>>	listCheckOutType	=	null;	//퇴근유형 List
	
	private List<HashMap<String, String>>	listVacationType	=	null;	//휴가유형 List
	private List<HashMap<String, String>>	listCondition;			//확인버튼 클릭시에 체크된 값들을 담에서 DAO단으로 넘길 객체
	
	
	private List<HashMap<String, String>>	listAddVacation = new ArrayList<HashMap<String,String>>();			//휴가추후반영여부
	
	
	private int start_row;		//시작로우
	
	private int end_row;		//앤드로우
	
	
	private int					rowCount				=	0;		//조회된 Row Count
	private int 				cur_page 				= 	1;		//Current Page Number
	
	private int					i_chk;	//row index 체크박스의 value에 0부터 지정함.
	private int	p_count;
	
	/**************************************확인버튼 클릭시 저장(UPDATE DATA)***********************************************/
	private 	int[]			s_chk;		//checkbox
	
	private 	String[]		yyyymmdd;	//기준일자 : 20090209
	
	private 	int[]			aemp_no;		//사번
	private		String[]		in_out_tp;	//출근 : I //퇴근 : O
	private     String[]        etc_emp;    //입력자 비고
	private		String[]		etc_mgr;	//확인자 비고
	private		String[]		etc_emp_memo;	//확인자 비고
	private 	String[]		group_no;	//그룹 코드
	private 	String[]		team_no; 	//팀 코드

	private 	String[]		in_out_detail; 	//팀 코드
	private 	HashMap<String, String> empInfo;
	private		User			user;

	private		String   temp;
	
	/**************************************확인버튼 클릭시 저장(UPDATE DATA)***********************************************/
	
	private 	String			ajaxFlag	=	"N";
	private List<HashMap<String, String>> allInoutList;
	

	private List<HashMap<String, String>> dailyInList;

	private List<HashMap<String, String>> dailyOutList;

	private List<HashMap<String, String>> holidayInList;

	private List<HashMap<String, String>> holidayOutList;

	private List<HashMap<String, String>> dailyInCheckList;

	private List<HashMap<String, String>> dailyOutCheckList;

	//--
	private List<HashMap<String, String>> 	list_0001	;	//정상출근	0001

	private List<HashMap<String, String>> 	list_0002	;	//지각		0002
	
	private List<HashMap<String, String>> 	list_0003	;	//현지출근	0003
	private List<HashMap<String, String>> 	list_0005	;	//오전공가	0005
	private List<HashMap<String, String>> 	list_0007	;
	private List<HashMap<String, String>> 	list_0008	;
	private List<HashMap<String, String>> 	list_0009	;
	private List<HashMap<String, String>> 	list_0004	;	//오전공가	0004
	private List<HashMap<String, String>> 	list_XX		;	//미입력		XX
	private List<HashMap<String, String>> 	list_NN		;	//결근		NN
	private List<HashMap<String, String>> 	list_2001	;	//연차휴가	2001
	private List<HashMap<String, String>> 	list_2002	;	//특별휴가	2002
	private List<HashMap<String, String>> 	list_2003	;	//경조휴가	2003
	private List<HashMap<String, String>> 	list_2004	;	//공가		2004
	//
	private int rowPerPage	=	20;	//페이지당 로우수
	//미입력
	private List<HashMap<String, String>> noWrite;

	//오전휴가
	private List<HashMap<String, String>> amRest;

	//오전공가
	private List<HashMap<String, String>> amPublicWork;
	
	//오후휴가
	private List<HashMap<String, String>> pmRest;
	
	//오후공가
	private List<HashMap<String, String>> pmPublicWork;
	
	private List<HashMap<String, String>> listInOutDetail;

	private String one_yyyymmdd;

	private List<HashMap<String, String>> list_LL;

	private List<HashMap<String, String>> list_2005;

	private List<HashMap<String, String>> close_dt_list;

	private String in_out_type;
	
	private String xGroupNm = "";
	private String xTeamNm = "";
	private String xEmpNm = "";
	
	
	public String getxGroupNm() {
		return xGroupNm;
	}
	public void setxGroupNm(String xGroupNm) {
		this.xGroupNm = xGroupNm;
	}
	public String getxTeamNm() {
		return xTeamNm;
	}
	public void setxTeamNm(String xTeamNm) {
		this.xTeamNm = xTeamNm;
	}
	public String getxEmpNm() {
		return xEmpNm;
	}
	public void setxEmpNm(String xEmpNm) {
		this.xEmpNm = xEmpNm;
	}
	
	public String finish_confir_yn = "";

	public String getFinish_confir_yn() {		return finish_confir_yn;	}
	public void setFinish_confir_yn(String finishConfirYn) {		finish_confir_yn = finishConfirYn;	}

	//휴가 추가 반영
	List<HashMap<String , String>> restDaysVacationList ;
	List<HashMap<String , String>> NightWorkVacationList;

	private String late_absence;

	private String req_Change;

	public AttendManagerAction() {}
	
	public String attendDetail() throws BaseException , SQLException {
		
		//세션을 얻는다.
//		session	=	ActionContext.getContext().getSession();
		
		if (!session.containsKey("user")) {
			return "login";
		}
		
		user = (User)session.get("user");
		
		empInfo = 	user.getEmpInfo();
		
		
		logger.info(empInfo);
		
		xGroupNm = empInfo.get("group_nm");
		xTeamNm = empInfo.get("team_nm");
		xEmpNm = empInfo.get("emp_nm");
		
		
		//사번
		semp_no	=	empInfo.get("emp_no");
		//그룹코드
		sgroup	=	empInfo.get("group_no");
		//팀코드
		confirm_yn = "ALL";  //1월 7일 
		steam		=	empInfo.get("team_no");
		
		emp_no		=	Integer.valueOf(empInfo.get("emp_no"));
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		commonDao					=	new CommonDao();
		
		commonDao.retrieveGroupListJoinAuthDept(Integer.valueOf(semp_no));
		
		setListGroup(commonDao.getList());
		
		s_date 						= 	commonDao.getMonthOfFirstDay();				//해당 月의 1일

		e_date						=	commonDao.getDate(0);						//오늘날짜
		
		commonDao.retireveCommonCode("100");												//출근유형 그룹코드
		
		List<HashMap <String, String>> inList = new ArrayList<HashMap<String, String>>();
		inList = commonDao.getList();
		
		HashMap<String, String> hm = new HashMap<String, String>();
		hm.put("cd_nm", "미입력");
		hm.put("cd", "XX");
		
		inList.add(hm);
		
		setListCheckInType(inList);											//출근유형 List
		
		
		commonDao.retireveCommonCode("101");												//퇴근유형 그룹코드	(group_cd = MAX(GROUP_cd) + 1 씩 증가 시킴.)
		
		inList = commonDao.getList();
		inList.add(hm);
		
		setListCheckOutType(inList);
		//setListCheckInType(commonDao.getList());											//출근유형 List
		
//		setListCheckOutType(commonDao.getList());											//퇴근유형 List
		
		commonDao.retireveCommonCode("102");												//휴가휴형 그룹코드
		setListVacationType(commonDao.getList());											//휴가 유형 List
		
	    //평일 출근 select 휴가 제외
	    attendManagerDao.retrieveDailyCheckIn();
	    dailyInCheckList = attendManagerDao.getList();
	    
		/**
		 * @since	2009.03.16
		 * @author Yang D
		 */
	    //평일 퇴근 select 휴가 제외
	    attendManagerDao.retrieveDailyCheckOut();
	    dailyOutCheckList = attendManagerDao.getList();
	    
	    
	    //평일 출근 select
	    attendManagerDao.retrieveDailyIn();
	    dailyInList = attendManagerDao.getList();
	    list_LL	=	attendManagerDao.getList_LL();
	    
	    
	    /**
	     *	출근정보에 따른 퇴근정보 리스트조회 
	     */
	    attendManagerDao.retrieveOutDetailList();
	    
	    list_0001	=	attendManagerDao.getList_0001();
	    list_0002	=	attendManagerDao.getList_0002();
	    list_0003	=	attendManagerDao.getList_0003();
	    list_0005	=	attendManagerDao.getList_0005();
	    list_0007	=	attendManagerDao.getList_0007();
	    list_0008	=	attendManagerDao.getList_0008();
	    list_0009	=	attendManagerDao.getList_0009();
	    list_0004	=	attendManagerDao.getList_0004();
	    list_XX		=	attendManagerDao.getList_XX();
	    list_NN		=	attendManagerDao.getList_NN();
	    list_2001	=	attendManagerDao.getList_2001();
	    list_2002	=	attendManagerDao.getList_2002();
	    list_2003	=	attendManagerDao.getList_2003();
	    list_2004	=	attendManagerDao.getList_2004();
	    list_2005	=	attendManagerDao.getList_2005();
	    
		
		commonDao.retireveCommonCode("330");	//휴가추후 반영 여부 코드
		listAddVacation = commonDao.getList();
		
		//반일 + 일일휴가 
		HashMap<String , String> temp_hm = new HashMap<String, String>();
		temp_hm.put("cd"	, "HAVA");
		temp_hm.put("cd_nm"	, "반일 + 일일휴가");
		
		listAddVacation.add(temp_hm);
		
		return SUCCESS;
	}
	
public String reqAttend() throws BaseException , SQLException {
		
		//세션을 얻는다.
//		session	=	ActionContext.getContext().getSession();
		
		if (!session.containsKey("user")) {
			return "login";
		}
		
		user = (User)session.get("user");
		
		empInfo = 	user.getEmpInfo();
		
		
		logger.info(empInfo);
		
		xGroupNm = empInfo.get("group_nm");
		xTeamNm = empInfo.get("team_nm");
		xEmpNm = empInfo.get("emp_nm");
		
		
		//사번
		semp_no	=	empInfo.get("emp_no");
		//그룹코드
		sgroup	=	empInfo.get("group_no");
		//팀코드
		confirm_yn = "ALL";  //1월 7일 
		steam		=	empInfo.get("team_no");
		
		emp_no		=	Integer.valueOf(empInfo.get("emp_no"));
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		commonDao					=	new CommonDao();
		
		commonDao.retrieveGroupListJoinAuthDept(Integer.valueOf(semp_no));
		
		setListGroup(commonDao.getList());
		
		s_date 						= 	commonDao.getMonthOfFirstDay();				//해당 月의 1일

		e_date						=	commonDao.getDate(0);						//오늘날짜
		
		commonDao.retireveCommonCode("100");												//출근유형 그룹코드
		
		List<HashMap <String, String>> inList = new ArrayList<HashMap<String, String>>();
		inList = commonDao.getList();
		
		HashMap<String, String> hm = new HashMap<String, String>();
		hm.put("cd_nm", "미입력");
		hm.put("cd", "XX");
		
		inList.add(hm);
		
		setListCheckInType(inList);											//출근유형 List
		
		
		commonDao.retireveCommonCode("101");												//퇴근유형 그룹코드	(group_cd = MAX(GROUP_cd) + 1 씩 증가 시킴.)
		
		inList = commonDao.getList();
		inList.add(hm);
		
		setListCheckOutType(inList);
		//setListCheckInType(commonDao.getList());											//출근유형 List
		
//		setListCheckOutType(commonDao.getList());											//퇴근유형 List
		
		commonDao.retireveCommonCode("102");												//휴가휴형 그룹코드
		setListVacationType(commonDao.getList());											//휴가 유형 List
		
	    //평일 출근 select 휴가 제외
	    attendManagerDao.retrieveDailyCheckIn();
	    dailyInCheckList = attendManagerDao.getList();
	    
		/**
		 * @since	2009.03.16
		 * @author Yang D
		 */
	    //평일 퇴근 select 휴가 제외
	    attendManagerDao.retrieveDailyCheckOut();
	    dailyOutCheckList = attendManagerDao.getList();
	    
	    
	    //평일 출근 select
	    attendManagerDao.retrieveDailyIn();
	    dailyInList = attendManagerDao.getList();
	    list_LL	=	attendManagerDao.getList_LL();
	    
	    
	    /**
	     *	출근정보에 따른 퇴근정보 리스트조회 
	     */
	    attendManagerDao.retrieveOutDetailList();
	    
	    list_0001	=	attendManagerDao.getList_0001();
	    list_0002	=	attendManagerDao.getList_0002();
	    list_0003	=	attendManagerDao.getList_0003();
	    list_0005	=	attendManagerDao.getList_0005();
	    list_0007	=	attendManagerDao.getList_0007();
	    list_0008	=	attendManagerDao.getList_0008();
	    list_0009	=	attendManagerDao.getList_0009();
	    list_0004	=	attendManagerDao.getList_0004();
	    list_XX		=	attendManagerDao.getList_XX();
	    list_NN		=	attendManagerDao.getList_NN();
	    list_2001	=	attendManagerDao.getList_2001();
	    list_2002	=	attendManagerDao.getList_2002();
	    list_2003	=	attendManagerDao.getList_2003();
	    list_2004	=	attendManagerDao.getList_2004();
	    list_2005	=	attendManagerDao.getList_2005();
	    
		
		commonDao.retireveCommonCode("330");	//휴가추후 반영 여부 코드
		listAddVacation = commonDao.getList();
		
		//반일 + 일일휴가 
		HashMap<String , String> temp_hm = new HashMap<String, String>();
		temp_hm.put("cd"	, "HAVA");
		temp_hm.put("cd_nm"	, "반일 + 일일휴가");
		
		listAddVacation.add(temp_hm);
		
		return SUCCESS;
	}
public String attendLateDetail() throws BaseException , SQLException {
		
		//세션을 얻는다.
//		session	=	ActionContext.getContext().getSession();
		
		if (!session.containsKey("user")) {
			return "login";
		}
		
		user = (User)session.get("user");
		
		empInfo = 	user.getEmpInfo();
		
		
		logger.info(empInfo);
		
		xGroupNm = empInfo.get("group_nm");
		xTeamNm = empInfo.get("team_nm");
		xEmpNm = empInfo.get("emp_nm");
		
		
		//사번
		semp_no	=	empInfo.get("emp_no");
		//그룹코드
		sgroup	=	empInfo.get("group_no");
		//팀코드
		confirm_yn = "ALL";  //1월 7일 
		steam		=	empInfo.get("team_no");
		
		emp_no		=	Integer.valueOf(empInfo.get("emp_no"));
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		commonDao					=	new CommonDao();
		
		commonDao.retrieveGroupListJoinAuthDept(Integer.valueOf(semp_no));
		
		setListGroup(commonDao.getList());
		
		//s_date 						= 	commonDao.getMonthOfFirstDay();				//해당 月의 1일

		e_date						=	commonDao.getDate(0);						//오늘날짜
		
		return SUCCESS;
	}



public String attendDetailLateAjaxList() throws BaseException , SQLException {
	
	hmCondition = new HashMap<String, String>();
	
	hmCondition.put("e_date"			, e_date);			//끝날짜,오늘날짜
	hmCondition.put("sgroup"			, sgroup);			//그룹
	hmCondition.put("steam"				, steam);			//팀
	hmCondition.put("semp_no"			, semp_no);			//사번
	hmCondition.put("searchEmpNm"		, searchEmpNm);		//성명 조회
	hmCondition.put("late_absence"      , late_absence);    //출근유형
	
	
	///////////////////////////////////////////////////////////////////////////////////////////////////
	logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
	logger.info(hmCondition                                                                           );
	logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
	///////////////////////////////////////////////////////////////////////////////////////////////////
	
	attendManagerDao 			= 	new AttendManagerDao();
	
	attendManagerDao.retrieveAttendDetailLateRowCount(hmCondition , emp_no, e_date.replace("-","") );		//row count
	
	rowCount = attendManagerDao.getRowCount();
	
	//System.out.println("rowCount====================>"+rowCount);

	
	pDao = new PagingDAO(rowPerPage , 10 , rowCount , cur_page);				//페이징 처리 DAO
	
    start_row 					= pDao.getWriting_Start();				//시작 페이지 1
    end_row   					= pDao.getWriting_End();				//끝페이지
    
//      System.out.println("hmCondition>>>"+hmCondition);
//      System.out.println("start_row>>>"+start_row);
//      System.out.println("end_row>>>"+end_row);
//      System.out.println("emp_no>>>"+emp_no);
    
    attendManagerDao.retireveAttendDetailLateList(hmCondition , start_row , end_row , emp_no, e_date.replace("-", ""));
  //확인여부가 'N' && p_count == 0
	//p_count = attendManagerDao.getP_count();
	
    list = attendManagerDao.getList();
    
//    System.out.println("**************************************");
    

	return SUCCESS;
	}

	/**
	 * <pre>
	 * 근태마감관리-근태확인 팝업
	 * Main Page Condition retrieve & etc.
	 * </pre>
	 * @author Yang Chang Hwan
	 * @since	2009/02/02
	 */
	public String attendFinishAction() throws BaseException , SQLException {
		
		//세션을 얻는다.
		//session	=	ActionContext.getContext().getSession();
		
		if (!session.containsKey("user")) {
			return "login";
		}
		
		user = (User)session.get("user");
		
		empInfo = 	user.getEmpInfo();
		
		//사번
		semp_no	=	empInfo.get("emp_no");
		//그룹코드
		sgroup	=	empInfo.get("group_no");
		sgroup  = "";
		//팀코드
		steam		=	empInfo.get("team_no");
		
		emp_no		=	Integer.valueOf(empInfo.get("emp_no"));
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		commonDao					=	new CommonDao();
		
		commonDao.retrieveGroupListJoinAuthDept(emp_no);

		setListGroup(commonDao.getList());

		String ymd	=	one_yyyymmdd.substring(0,4) + "-" + one_yyyymmdd.substring(4, 6) + "-" + one_yyyymmdd.substring(6 , 8);
		
		s_date 						= 	ymd;				
		
		e_date						=	s_date;						//오늘날짜
		
		commonDao.retireveCommonCode("100");												//출근유형 그룹코드
		
		List<HashMap <String, String>> inList = new ArrayList<HashMap<String, String>>();
		inList = commonDao.getList();
		HashMap<String, String>hm = new HashMap<String, String>();
		
		hm.put("XX", "미입력");
		
		inList.add(inList.size() ,hm);
		
		setListCheckInType(inList);											//출근유형 List
		
		
		commonDao.retireveCommonCode("101");												//퇴근유형 그룹코드	(group_cd = MAX(GROUP_cd) + 1 씩 증가 시킴.)
		
		inList = commonDao.getList();
		hm = new HashMap<String, String>();
		
		hm.put("XX", "미입력");
		
		inList.add(inList.size() ,hm);
		
		setListCheckOutType(inList);
		
		//setListCheckOutType(commonDao.getList());											//퇴근유형 List
		
		commonDao.retireveCommonCode("102");												//휴가휴형 그룹코드
		setListVacationType(commonDao.getList());											//휴가 유형 List
		
		//평일 출근 select 휴가 제외
		attendManagerDao.retrieveDailyCheckIn();
		dailyInCheckList = attendManagerDao.getList();
		
		commonDao.retireveCommonCode("330");	//휴가추후 반영 여부 코드
		listAddVacation = commonDao.getList();
		
		//반일 + 일일휴가 
		HashMap<String , String> temp_hm = new HashMap<String, String>();
		temp_hm.put("cd"	, "HAVA");
		temp_hm.put("cd_nm"	, "반일 + 일일휴가");
		
		listAddVacation.add(temp_hm);
		
		
		/**
		 * @since	2009.03.16
		 * @author Yang D
		 */
		//평일 퇴근 select 휴가 제외
		attendManagerDao.retrieveDailyCheckOut();
		dailyOutCheckList = attendManagerDao.getList();
		
		
		//평일 출근 select
		attendManagerDao.retrieveDailyIn();
		dailyInList = attendManagerDao.getList();
		list_LL	=	attendManagerDao.getList_LL();
		
		/**
		 *	출근정보에 따른 퇴근정보 리스트조회 
		 */
		attendManagerDao.retrieveOutDetailList();
		
		list_0001	=	attendManagerDao.getList_0001();
		list_0002	=	attendManagerDao.getList_0002();
		list_0003	=	attendManagerDao.getList_0003();
		list_0005	=	attendManagerDao.getList_0005();
		list_0007	=	attendManagerDao.getList_0007();
		list_0008	=	attendManagerDao.getList_0008();
		list_0009	=	attendManagerDao.getList_0009();
		list_0004	=	attendManagerDao.getList_0004();
		list_XX		=	attendManagerDao.getList_XX();
		list_NN		=	attendManagerDao.getList_NN();
		list_2001	=	attendManagerDao.getList_2001();
		list_2002	=	attendManagerDao.getList_2002();
		list_2003	=	attendManagerDao.getList_2003();
		list_2004	=	attendManagerDao.getList_2004();
		list_2005	=	attendManagerDao.getList_2005();
		
		
		
		return SUCCESS;
	}
	
	public String attendLateListAjax() throws BaseException , SQLException {
		
		
		//조건들을 하나로 묶음.
		hmCondition = new HashMap<String, String>();
		
		hmCondition.put("e_date"			, e_date);			//끝날짜,오늘날짜
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		hmCondition.put("searchEmpNm"		, searchEmpNm);		//성명 조회
		hmCondition.put("late_absence"      , late_absence);    //출근유형
		
		
		
		///////////////////////////////////////////////////////////////////////////////////////////////////
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		logger.info(hmCondition                                                                           );
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		///////////////////////////////////////////////////////////////////////////////////////////////////
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		attendManagerDao.retrieveAttendLateRowCount(hmCondition , emp_no, e_date.replace("-","") );		//row count
		
		rowCount = attendManagerDao.getRowCount();
		
//		System.out.println("rowCount====================>"+rowCount);
		

		
		pDao = new PagingDAO(rowPerPage , 10 , rowCount , cur_page);				//페이징 처리 DAO
		
	      start_row 					= pDao.getWriting_Start();				//시작 페이지 1
	      end_row   					= pDao.getWriting_End();				//끝페이지
	    
//	    System.out.println("hmCondition>>>"+hmCondition);
//	    System.out.println("start_row>>>"+start_row);
//	    System.out.println("end_row>>>"+end_row);
//	    System.out.println("emp_no>>>"+emp_no);
//	    
	    attendManagerDao.retireveAttendLateList(hmCondition , start_row , end_row , emp_no, e_date.replace("-", ""));
	  //확인여부가 'N' && p_count == 0
		//p_count = attendManagerDao.getP_count();
		
	    list = attendManagerDao.getList();
	    
//	    System.out.println("**************************************");
	    

		return SUCCESS;
	}
	
	public String reqAttendManagerListAjax() throws BaseException , SQLException {
		
		
		//조건들을 하나로 묶음.
		hmCondition = new HashMap<String, String>();
	
    	hmCondition.put("s_date"			, s_date);			//시작일
		hmCondition.put("e_date"			, e_date);			//끝날짜
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		hmCondition.put("searchEmpNm"	    , searchEmpNm);		//성명 조회
		hmCondition.put("req_Change"			, req_Change);          //요청확인여부
		
		
		
		///////////////////////////////////////////////////////////////////////////////////////////////////
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		logger.info(hmCondition);
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		///////////////////////////////////////////////////////////////////////////////////////////////////
	
		attendManagerDao 			= 	new AttendManagerDao();
		
		attendManagerDao.retrieveReqManagerRowCnt(hmCondition , emp_no );		//row count
		
		rowCount = attendManagerDao.getRowCount();
		System.out.println("rowCount================================"+rowCount);
		//조회결과가 없을 경우
//		if (rowCount == 0) {
//			msg	=	getText("alert.message.zeroRowCount");	//조회 결과가 없습니다.
//			return "zero";
			
//			System.out.println(msg + "            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//			System.out.println(rowCount + "      #################################################################");
//		}
//		
//    	pDao = new PagingDAO(rowPerPage , 10 , rowCount , cur_page);				//페이징 처리 DAO
//		
//		start_row 					= pDao.getWriting_Start();				//시작 페이지 1
//		end_row   					= pDao.getWriting_End();				//끝페이지
//		
//		attendManagerDao.retireveReqAttendManagerList(hmCondition , start_row , end_row , emp_no);
//		
//	
//		
//		list = attendManagerDao.getList();

	
		
		return SUCCESS;
	}
		
	public String lateAttendManager() throws BaseException , SQLException {
		
		if (!session.containsKey("user")) {
			return "login";
		}
		
		user = (User)session.get("user");
		
		empInfo = 	user.getEmpInfo();
		//사번
		semp_no	=	empInfo.get("emp_no");
		//그룹코드
		sgroup	=	empInfo.get("group_no");
		//팀코드
		sgroup = "";
		
		//confirm_yn = "ALL";  //1/7
		
		steam		=	empInfo.get("team_no");
		
		emp_no		=	Integer.valueOf(empInfo.get("emp_no"));
		
		//attendManagerDao 			= 	new AttendManagerDao();
		
		commonDao					=	new CommonDao();
		
		commonDao.retrieveGroupListJoinAuthDept(Integer.valueOf(semp_no));
		
		setListGroup(commonDao.getList());
		e_date						=	commonDao.getDate(0);

		
		
		return SUCCESS;
	}
	
public String reqAttendManager() throws BaseException , SQLException {
		
		if (!session.containsKey("user")) {
			return "login";
		}
		
		user = (User)session.get("user");
		
		empInfo = 	user.getEmpInfo();
		//사번
		semp_no	=	empInfo.get("emp_no");
		//그룹코드
		sgroup	=	empInfo.get("group_no");
		//팀코드
		sgroup = "";
		
		//confirm_yn = "ALL";  //1/7
		
		steam		=	empInfo.get("team_no");
		
		emp_no		=	Integer.valueOf(empInfo.get("emp_no"));
		
		//attendManagerDao 			= 	new AttendManagerDao();
		
		commonDao					=	new CommonDao();
		
		commonDao.retrieveGroupListJoinAuthDept(Integer.valueOf(semp_no));
		
		setListGroup(commonDao.getList());
		
		s_date 					= 	commonDao.getMonthOfFirstDay();				//해당 月의 1일
		e_date						=	commonDao.getDate(0);

		
		
		return SUCCESS;
	}
	
	/**
	 * 코드변경시 새로 적용해야함.
	 * "0006";	//공휴일출근
		"1008"	//공휴일퇴근
		"8003"	//공휴일
			
		"2001";	//연차휴가
		"2002"	//특별휴가
		"2003";	//경조휴가
		"2004"	//공가휴가
			
		"NN"	//결근
		"XX"	//미입력
	 */
	
	/**
	 * <pre>
	 * 근태관리-출퇴근확인-관리자 결과조회
	 * </pre>
	 * @return
	 * @throws BaseException
	 * @throws SQLException
	 */
	public String attendManagerListAjax() throws BaseException , SQLException {
		
		commonDao	=	new	CommonDao();
		
		//출근 + 휴가 list
		commonDao.retireveCommonCode("100" , "102" , "104" , "105" , "108" );
		listCheckInType = commonDao.getList();
		
		//퇴근 + 휴가 list
		commonDao.retireveCommonCode("101" , "102" , "104" , "105" , "108");
		listCheckOutType	=	commonDao.getList();
		
		//조건들을 하나로 묶음.
		hmCondition = new HashMap<String, String>();
		
		hmCondition.put("s_date"			, s_date);			//시작일
		hmCondition.put("e_date"			, e_date);			//끝날짜
		
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		
		hmCondition.put("in_out_tp_condi"	, in_out_tp_condi);		//출근/퇴근 구분
		hmCondition.put("chk_in_type"		, chk_in_type);		//출근
		hmCondition.put("chk_out_type"		, chk_out_type);	//퇴근
		
		hmCondition.put("vacation_yn"		, vacation_yn);	//휴가휴형
		hmCondition.put("vacation_type"		, vacation_type);	//휴가휴형
		hmCondition.put("vacation_gubun"	, vacation_gubun);	//휴가휴형
		hmCondition.put("vacation_detail"	, vacation_detail);	//휴가휴형
		
		hmCondition.put("absence_type"		, absence_type);	//결근유형
		hmCondition.put("confirm_yn"		, confirm_yn);		//승인여부
		hmCondition.put("mgr_change_yn"		, mgr_change_yn);		//확인자변경여부
		
		hmCondition.put("addVacation"		, addVacation);		//추가휴가반영
		hmCondition.put("addVacation_gubun"	, addVacation_gubun);		//추가휴가반영
		//20090927
		hmCondition.put("h_vacation_type"	, h_vacation_type);		//휴가조회
		
		hmCondition.put("sp_work_type"			, sp_work_type);		//특근 조회
		hmCondition.put("sp_work_gubun"			, sp_work_gubun);		//특근조회
		
		hmCondition.put("searchEmpNm"			, searchEmpNm);		//성명 조회
		
		
		
		
		///////////////////////////////////////////////////////////////////////////////////////////////////
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		logger.info(hmCondition);
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		///////////////////////////////////////////////////////////////////////////////////////////////////
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		attendManagerDao.retrieveAttendManagerRowCount(hmCondition , emp_no );		//row count
		
		rowCount = attendManagerDao.getRowCount();
		
		//조회결과가 없을 경우
		if (rowCount == 0) {
			msg	=	getText("alert.message.zeroRowCount");	//조회 결과가 없습니다.
			return "zero";
			
//			System.out.println(msg + "            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//			System.out.println(rowCount + "      #################################################################");
		}
		
		pDao = new PagingDAO(rowPerPage , 10 , rowCount , cur_page);				//페이징 처리 DAO
		
		start_row 					= pDao.getWriting_Start();				//시작 페이지 1
	    end_row   					= pDao.getWriting_End();				//끝페이지
	    
	    attendManagerDao.retireveAttendManagerList(hmCondition , start_row , end_row , emp_no);
	    
	    //확인여부가 'N' && p_count == 0
		p_count = attendManagerDao.getP_count();
//		if (p_count == 0) {
	//		return SUCCESS;
	//	}
	    
	    setList(attendManagerDao.getList());
	    
	    //조회결과가 없을 경우
	    if (list.size() == 0) {
	    	msg	=	getText("alert.message.zeroRowCount");	//조회 결과가 없습니다.
	    	return SUCCESS;
	    }
	    
	    //평일 출근 select
	    attendManagerDao.retrieveDailyIn();
	    dailyInList = attendManagerDao.getList();
	    
	    //휴일 출근 select
	    attendManagerDao.retrieveHolidayIn();
	    holidayInList = attendManagerDao.getList();
	    
	    //휴일 퇴근 select
	    attendManagerDao.retrieveHolidayOut();
	    holidayOutList = attendManagerDao.getList();
	    
	    /**
	     *	출근정보에 따른 퇴근정보 리스트조회 
	     */
	    attendManagerDao.retrieveOutDetailList();
	    
	    list_LL	    =	attendManagerDao.getList_LL();
	    list_0001	=	attendManagerDao.getList_0001();
	    list_0002	=	attendManagerDao.getList_0002();
	    list_0003	=	attendManagerDao.getList_0003();
	    list_0005	=	attendManagerDao.getList_0005();
	    list_0004	=	attendManagerDao.getList_0004();
	    list_0007	=	attendManagerDao.getList_0007();//
	    list_0008	=	attendManagerDao.getList_0008();//
	    list_0009	=	attendManagerDao.getList_0009();//
	    list_XX		=	attendManagerDao.getList_XX();
	    list_NN		=	attendManagerDao.getList_NN();
	    list_2001	=	attendManagerDao.getList_2001();
	    list_2002	=	attendManagerDao.getList_2002();
	    list_2003	=	attendManagerDao.getList_2003();
	    list_2004	=	attendManagerDao.getList_2004();
	    list_2005	=	attendManagerDao.getList_2005();
	    System.out.println("list_0001-----------------------------"+list_0001);
	    System.out.println("list_0007-----------------------------"+list_0007);
	    System.out.println("list_0005-----------------------------"+list_0005);
	    //마감된 근태 기준일자
	    
	    close_dt_list	=	attendManagerDao.retrieveFinishedDT();
	    
		commonDao.retireveCommonCode("330");	//휴가추후 반영 여부 코드          미반영,반일휴가,일일휴가
		
		//공휴일인 경우 - 미반영 , 일일반영 , 반일반영
		restDaysVacationList = new ArrayList<HashMap<String , String>>(commonDao.getList());
		//restDaysVacationList.remove(1);//반일반영 제외
		
		//철야반영 - 미반영 , 반일반영
		NightWorkVacationList = new ArrayList<HashMap<String , String>>(commonDao.getList());
	    NightWorkVacationList.remove(2);	//일일반영 제외
	    
		return SUCCESS;
	}
	
	/**
	 * <pre>
	 * 근태관리-출퇴근확인-관리자 결과조회
	 * </pre>
	 * @return
	 * @throws BaseException
	 * @throws SQLException
	 */
	public String attendDetailAjaxList() throws BaseException , SQLException {
		
		commonDao	=	new	CommonDao();
		
		//출근 + 휴가 list
		commonDao.retireveCommonCode("100" , "102" , "104" , "105" , "108" );
		listCheckInType = commonDao.getList();
		
		//퇴근 + 휴가 list
		commonDao.retireveCommonCode("101" , "102" , "104" , "105" , "108");
		listCheckOutType	=	commonDao.getList();
		
		//조건들을 하나로 묶음.
		hmCondition = new HashMap<String, String>();
		
		hmCondition.put("s_date"			, s_date);			//시작일
		hmCondition.put("e_date"			, e_date);			//끝날짜
		
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		
		hmCondition.put("in_out_tp_condi"	, in_out_tp_condi);		//출근/퇴근 구분
		hmCondition.put("chk_in_type"		, chk_in_type);		//출근
		hmCondition.put("chk_out_type"		, chk_out_type);	//퇴근
		
		hmCondition.put("vacation_yn"		, vacation_yn);	    //휴가여부
		hmCondition.put("vacation_type"		, vacation_type);	//휴가휴형
		hmCondition.put("vacation_gubun"	, vacation_gubun);	//휴가휴형
		hmCondition.put("vacation_detail"	, vacation_detail);	//휴가휴형
		
		hmCondition.put("absence_type"		, absence_type);	//결근유형
		hmCondition.put("confirm_yn"		, confirm_yn);		//승인여부
		hmCondition.put("mgr_change_yn"		, mgr_change_yn);		//확인자변경여부
		
		hmCondition.put("addVacation"		, addVacation);		//추가휴가반영
		hmCondition.put("addVacation_gubun"	, addVacation_gubun);		//추가휴가반영
		//20090927
		hmCondition.put("h_vacation_type"	, h_vacation_type);		//휴가조회
		
		hmCondition.put("sp_work_type"			, sp_work_type);		//특근 조회
		hmCondition.put("sp_work_gubun"			, sp_work_gubun);		//특근조회
		
		hmCondition.put("searchEmpNm"			, searchEmpNm);		//성명 조회
		
		
		
		
		///////////////////////////////////////////////////////////////////////////////////////////////////
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		logger.info(hmCondition);
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		///////////////////////////////////////////////////////////////////////////////////////////////////
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		attendManagerDao.retrieveAttendDetailRowCount(hmCondition , emp_no );		//row count
		
		rowCount = attendManagerDao.getRowCount();
		
		//조회결과가 없을 경우
		if (rowCount == 0) {
			msg	=	getText("alert.message.zeroRowCount");	//조회 결과가 없습니다.
			return "zero";
			
//			System.out.println(msg + "            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//			System.out.println(rowCount + "      #################################################################");
		}
		
		pDao = new PagingDAO(rowPerPage , 10 , rowCount , cur_page);				//페이징 처리 DAO
		
		start_row 					= pDao.getWriting_Start();				//시작 페이지 1
		end_row   					= pDao.getWriting_End();				//끝페이지
		
		attendManagerDao.retireveAttendDetailList(hmCondition , start_row , end_row , emp_no);
		
		//확인여부가 'N' && p_count == 0
		p_count = attendManagerDao.getP_count();
//		if (p_count == 0) {
		//		return SUCCESS;
		//	}
		
		setList(attendManagerDao.getList());
		
		//조회결과가 없을 경우
		if (list.size() == 0) {
			msg	=	getText("alert.message.zeroRowCount");	//조회 결과가 없습니다.
			return SUCCESS;
		}
		
		//평일 출근 select
		attendManagerDao.retrieveDailyIn();
		dailyInList = attendManagerDao.getList();
		
		//휴일 출근 select
		attendManagerDao.retrieveHolidayIn();
		holidayInList = attendManagerDao.getList();
		
		//휴일 퇴근 select
		attendManagerDao.retrieveHolidayOut();
		holidayOutList = attendManagerDao.getList();
		
		/**
		 *	출근정보에 따른 퇴근정보 리스트조회 
		 */
		attendManagerDao.retrieveOutDetailList();
		
		list_LL	=	attendManagerDao.getList_LL();
		list_0001	=	attendManagerDao.getList_0001();
		list_0002	=	attendManagerDao.getList_0002();
		list_0003	=	attendManagerDao.getList_0003();
		list_0005	=	attendManagerDao.getList_0005();
		list_0007	=	attendManagerDao.getList_0007();
		list_0008	=	attendManagerDao.getList_0008();
		list_0009	=	attendManagerDao.getList_0009();
		list_0004	=	attendManagerDao.getList_0004();
		list_XX		=	attendManagerDao.getList_XX();
		list_NN		=	attendManagerDao.getList_NN();
		list_2001	=	attendManagerDao.getList_2001();
		list_2002	=	attendManagerDao.getList_2002();
		list_2003	=	attendManagerDao.getList_2003();
		list_2004	=	attendManagerDao.getList_2004();
		list_2005	=	attendManagerDao.getList_2005();
		
		//마감된 근태 기준일자
		close_dt_list	=	attendManagerDao.retrieveFinishedDT();
		
		commonDao.retireveCommonCode("330");	//휴가추후 반영 여부 코드
		
		//공휴일인 경우 - 미반영 , 일일반영 , 반일반영
		restDaysVacationList = new ArrayList<HashMap<String , String>>(commonDao.getList());
		//restDaysVacationList.remove(1);//반일반영 제외
		
		//철야반영 - 미반영 , 반일반영
		NightWorkVacationList = new ArrayList<HashMap<String , String>>(commonDao.getList());
		NightWorkVacationList.remove(2);	//일일반영 제외
		
        attendDao 		= new AttendDao();
        
//        attendAction = new AttendAction();
        
        
//        setYyyymmdd1(attendAction.getYyyymmdd());
      //최근 기준일자 조회
		commonDao = new CommonDao();
		commonDao.retrieveMaxYYYYMMDD();
				
		listCondition1 	= new ArrayList<String>();				//parameter를 담을 리스트
		
		listCondition1.add(0, commonDao.getYyyymmdd());
		listCondition1.add(1, String.valueOf(emp_no));
		
		//System.out.println("yyyymmdd1 : "+yyyymmdd1);
		//System.out.println("String.valueOf(emp_no) : "+String.valueOf(emp_no));
		
		attendDao.existCheckInInfo2(listCondition1);				//입력된 출근정보 읽어오기
		
		chk_in_msg 		= 		attendDao.getChk_in_msg();		//입력된 출근정보 읽어오기
		
		//System.out.println("chk_in_msg : "+chk_in_msg);
		
		attendDao.existCheckOutInfo2(listCondition1); 			//입력된 퇴근정보 읽어오기
		chk_out_msg 	= 		attendDao.getChk_out_msg();		//입력된 퇴 근정보 읽어오기
		
		return SUCCESS;
	}
	
public String reqAttendListAjax() throws BaseException , SQLException {
		
		commonDao	=	new	CommonDao();
		
		//출근 + 휴가 list
		commonDao.retireveCommonCode("100" , "102" , "104" , "105" , "108" );
		listCheckInType = commonDao.getList();
		
		//퇴근 + 휴가 list
		commonDao.retireveCommonCode("101" , "102" , "104" , "105" , "108");
		listCheckOutType	=	commonDao.getList();
		
		//조건들을 하나로 묶음.
		hmCondition = new HashMap<String, String>();
		
		hmCondition.put("s_date"			, s_date);			//시작일
		hmCondition.put("e_date"			, e_date);			//끝날짜
		
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		
		hmCondition.put("in_out_tp_condi"	, in_out_tp_condi);		//출근/퇴근 구분
		hmCondition.put("chk_in_type"		, chk_in_type);		//출근
		hmCondition.put("chk_out_type"		, chk_out_type);	//퇴근
		
		hmCondition.put("vacation_yn"		, vacation_yn);	    //휴가여부
		hmCondition.put("vacation_type"		, vacation_type);	//휴가휴형
		hmCondition.put("vacation_gubun"	, vacation_gubun);	//휴가휴형
		hmCondition.put("vacation_detail"	, vacation_detail);	//휴가휴형
		
		hmCondition.put("absence_type"		, absence_type);	//결근유형
		hmCondition.put("confirm_yn"		, confirm_yn);		//승인여부
		hmCondition.put("mgr_change_yn"		, mgr_change_yn);		//확인자변경여부
		
		hmCondition.put("addVacation"		, addVacation);		//추가휴가반영
		hmCondition.put("addVacation_gubun"	, addVacation_gubun);		//추가휴가반영
		//20090927
		hmCondition.put("h_vacation_type"	, h_vacation_type);		//휴가조회
		
		hmCondition.put("sp_work_type"			, sp_work_type);		//특근 조회
		hmCondition.put("sp_work_gubun"			, sp_work_gubun);		//특근조회
		
		hmCondition.put("searchEmpNm"			, searchEmpNm);		//성명 조회
		
		
		
		
		///////////////////////////////////////////////////////////////////////////////////////////////////
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		logger.info(hmCondition);
		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		///////////////////////////////////////////////////////////////////////////////////////////////////
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		attendManagerDao.retrieveAttendDetailRowCount(hmCondition , emp_no );		//row count
		
		rowCount = attendManagerDao.getRowCount();
		
		//조회결과가 없을 경우
		if (rowCount == 0) {
			msg	=	getText("alert.message.zeroRowCount");	//조회 결과가 없습니다.
			return "zero";
			
//			System.out.println(msg + "            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//			System.out.println(rowCount + "      #################################################################");
		}
		
		pDao = new PagingDAO(rowPerPage , 10 , rowCount , cur_page);				//페이징 처리 DAO
		
		start_row 					= pDao.getWriting_Start();				//시작 페이지 1
		end_row   					= pDao.getWriting_End();				//끝페이지
		
		attendManagerDao.retireveReqAttendList(hmCondition , start_row , end_row , emp_no);
		
		//확인여부가 'N' && p_count == 0
		p_count = attendManagerDao.getP_count();
//		if (p_count == 0) {
		//		return SUCCESS;
		//	}
		
		setList(attendManagerDao.getList());
		
		//조회결과가 없을 경우
		if (list.size() == 0) {
			msg	=	getText("alert.message.zeroRowCount");	//조회 결과가 없습니다.
			return SUCCESS;
		}
		
		//평일 출근 select
		attendManagerDao.retrieveDailyIn();
		dailyInList = attendManagerDao.getList();
		
		//휴일 출근 select
		attendManagerDao.retrieveHolidayIn();
		holidayInList = attendManagerDao.getList();
		
		//휴일 퇴근 select
		attendManagerDao.retrieveHolidayOut();
		holidayOutList = attendManagerDao.getList();
		
		/**
		 *	출근정보에 따른 퇴근정보 리스트조회 
		 */
		attendManagerDao.retrieveOutDetailList();
		
		list_LL	=	attendManagerDao.getList_LL();
		list_0001	=	attendManagerDao.getList_0001();
		list_0002	=	attendManagerDao.getList_0002();
		list_0003	=	attendManagerDao.getList_0003();
		list_0005	=	attendManagerDao.getList_0005();
		list_0007	=	attendManagerDao.getList_0007();
		list_0008	=	attendManagerDao.getList_0008();
		list_0009	=	attendManagerDao.getList_0009();
		list_0004	=	attendManagerDao.getList_0004();
		list_XX		=	attendManagerDao.getList_XX();
		list_NN		=	attendManagerDao.getList_NN();
		list_2001	=	attendManagerDao.getList_2001();
		list_2002	=	attendManagerDao.getList_2002();
		list_2003	=	attendManagerDao.getList_2003();
		list_2004	=	attendManagerDao.getList_2004();
		list_2005	=	attendManagerDao.getList_2005();
		
		//마감된 근태 기준일자
		close_dt_list	=	attendManagerDao.retrieveFinishedDT();
		
		commonDao.retireveCommonCode("330");	//휴가추후 반영 여부 코드
		
		//공휴일인 경우 - 미반영 , 일일반영 , 반일반영
		restDaysVacationList = new ArrayList<HashMap<String , String>>(commonDao.getList());
		//restDaysVacationList.remove(1);//반일반영 제외
		
		//철야반영 - 미반영 , 반일반영
		NightWorkVacationList = new ArrayList<HashMap<String , String>>(commonDao.getList());
		NightWorkVacationList.remove(2);	//일일반영 제외
		
        attendDao 		= new AttendDao();
        
//        attendAction = new AttendAction();
        
        
//        setYyyymmdd1(attendAction.getYyyymmdd());
      //최근 기준일자 조회
		commonDao = new CommonDao();
		commonDao.retrieveMaxYYYYMMDD();
				
		listCondition1 	= new ArrayList<String>();				//parameter를 담을 리스트
		
		listCondition1.add(0, commonDao.getYyyymmdd());
		listCondition1.add(1, String.valueOf(emp_no));
		//listCondition1.add(2, commonDao.getMmdd());
		
		//System.out.println("yyyymmdd1 : "+yyyymmdd1);
		//System.out.println("String.valueOf(emp_no) : "+String.valueOf(emp_no));
		
		attendDao.existCheckInInfo2(listCondition1);				//입력된 출근정보 읽어오기
		
		chk_in_msg 		= 		attendDao.getChk_in_msg();		//입력된 출근정보 읽어오기
		
		//System.out.println("chk_in_msg : "+chk_in_msg);
		
		attendDao.existCheckOutInfo2(listCondition1); 			//입력된 퇴근정보 읽어오기
		chk_out_msg 	= 		attendDao.getChk_out_msg();		//입력된 퇴 근정보 읽어오기
		
		return SUCCESS;
	}

	/**
	 * <pre>
	 * 확인버튼 클릭시에 db update
	 * </pre>
	 * @return
	 * @throws BaseException
	 * @throws SQLException 
	 */
	public	String attendManagerListUpdate() throws BaseException, SQLException {
		
		user = (User)session.get("user");
		
		//empInfo = (HashMap<String, String>)session.get("empInfo");
		empInfo		=	user.getEmpInfo();
		
		listCondition	=	new		ArrayList<HashMap<String,String>>();
		
		/*************************************************************************************************************************/
		//전달받은 파라미터	 [sample: 2009-02-19,27,O,2004,0000,2009-02-17,27,I,2002,gygyg
		//yyyymmdd
		//emp_no
		//in_out_tp
		//근태유형코드
		//비고
		//5로 나눈다.--파라미터가 5씩 들어가서 5로 분할해야함. 추후 달라질 경우 수정사항임.
		System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
		System.out.println(updateArgs);
		System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
		
		String[] args = updateArgs.split("," , rowPerPage * 7);// page 당 10인경우 == 50이다. 15일경우 15*5이다.
		
		//System.out.println(args.length + "           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
		
		int idx = 0;
		
		for (int i = 0; i < args.length / 7; i++) {
			
			HashMap<String, String> hmCondition	=	new HashMap<String, String>();
			
			//PK start...........................................................
			hmCondition.put("yyyymmdd" 		,	args[idx++].replace("-", "") 					);		//기준일자 -포함
			hmCondition.put("emp_no"		, 	String.valueOf(args[idx++])		);		//확인자 사번
			hmCondition.put("in_out_tp"		, 	args[idx++]						);		//출근:퇴근 // I : O
			//PK end...........................................................
			
			//hmCondition.put("team_no"		, 	team_no[s_chk[i]]);							//팀코드
			//hmCondition.put("group_no"	, 	group_no[s_chk[i]]);						//그룹코드
			hmCondition.put("in_out_detail" ,	args[idx++] 					);			//근태상세코드						                                          //입력자 비고
			hmCondition.put("mgr_etc"		, 	args[idx++]						);			//확인자 비고
			
			hmCondition.put("etc_emp"		, 	args[idx++]		                );          //입력자 비고
			hmCondition.put("advantage"		, 	args[idx++]						);			//추가휴가반영
			
			hmCondition.put("approv_emp_no"	, 	empInfo.get("emp_no"));
			
			listCondition.add(hmCondition);


		}	//for
		
		/*************************************************************************************************************************/
					
			//System.out.println("---------listConditionlistConditionlistConditionlistCondition----------------------------------------------------");
			//System.out.println(listCondition.toString());
			//System.out.println("----------listConditionlistConditionlistConditionlistCondition---------------------------------------------------");
		
		logger.info(listCondition);
		
		attendManagerDao	=	new AttendManagerDao();
		
		attendManagerDao.updateAttendManagerConfirm(listCondition);
		
		//System.out.println(listCondition.toString());
		
		
		return SUCCESS;
	}
	//입력자 비고란 ck
	public	String attendManagerListUpdate1() throws BaseException, SQLException {
		
		user = (User)session.get("user");
		
		//empInfo = (HashMap<String, String>)session.get("empInfo");
		empInfo		=	user.getEmpInfo();
		
		listCondition	=	new		ArrayList<HashMap<String,String>>();
		
		/*************************************************************************************************************************/
		//전달받은 파라미터	 [sample: 2009-02-19,27,O,2004,0000,2009-02-17,27,I,2002,gygyg
		//yyyymmdd
		//emp_no
		//in_out_tp
		//근태유형코드
		//비고
		//5로 나눈다.--파라미터가 5씩 들어가서 5로 분할해야함. 추후 달라질 경우 수정사항임.
		System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
		System.out.println(updateArgs);
		System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
		System.out.println("rowPerPage20="+rowPerPage);
		String[] args = updateArgs.split("," , rowPerPage * 7);// page 당 10인경우 == 50이다. 15일경우 15*5이다.
		System.out.println("argg====="+args);
		//System.out.println(args.length + "           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
		
		int idx = 0;
		System.out.println("222222222222");
		System.out.println("args.length=="+args.length);
		for (int i = 0; i < args.length / 4; i++) {
			System.out.println("222222222");	
			HashMap<String, String> hmCondition	=	new HashMap<String, String>();
			System.out.println("333333333");
			//PK start...........................................................
			//check value
		//	System.out.println("s_chk==="+args[idx]);
		//	hmCondition.put("s_chk"		, 	args[idx++]                     );
			//check value 값 받아오는 순서에 맞게 hash에 넣어 준다
			hmCondition.put("yyyymmdd" 		,	args[idx++].replace("-", "") 					);		//기준일자 -포함
			hmCondition.put("emp_no"		, 	String.valueOf(args[idx++])		);		//확인자 사번
			hmCondition.put("in_out_tp"		, 	args[idx++]						);		//출근:퇴근 // I : O
			//PK end...........................................................
			
			//hmCondition.put("team_no"		, 	team_no[s_chk[i]]);							//팀코드
			//hmCondition.put("group_no"	, 	group_no[s_chk[i]]);						//그룹코드
			//System.out.println("in_out_detail====="+args[idx]);
			//hmCondition.put("in_out_detail" ,	args[idx++] 					);			//근태상세코드						                                          //입력자 비고
			
			//System.out.println("mgr_etc====="+args[idx]);
			//hmCondition.put("mgr_etc"		, 	args[idx++]						);			//확인자 비고
			
		//	System.out.println("etc_emp====="+args[idx]);
			hmCondition.put("etc_emp"		, 	args[idx++]		                );          //입력자 비고
			
		//	hmCondition.put("advantage"		, 	args[idx++]						);			//추가휴가반영
			
			hmCondition.put("approv_emp_no"	, 	empInfo.get("emp_no"));
			
			listCondition.add(hmCondition);
			
			


		}	//for
		
		/*************************************************************************************************************************/
					
			//System.out.println("---------listConditionlistConditionlistConditionlistCondition----------------------------------------------------");
			//System.out.println(listCondition.toString());
			//System.out.println("----------listConditionlistConditionlistConditionlistCondition---------------------------------------------------");
		
		logger.info(listCondition);
		
		attendManagerDao	=	new AttendManagerDao();
		System.out.println("pppppppsee");
		attendManagerDao.updateAttendManagerConfirm1(listCondition);
		
		//System.out.println(listCondition.toString());
		
		
		return SUCCESS;
	}
	
	//마무리
	/**
	 * <pre>출/퇴근 상세 pop-up</pre>
	 * @return
	 * @throws BaseException
	 */
	public String attendManeger_detail() throws BaseException {
		
		if (in_out_type.equals("I")) {
			setDetailPopTitle("출근상세정보");
		} else {
			setDetailPopTitle("퇴근상세정보");
		}
		
		attendManagerDao	=	new AttendManagerDao();
		attendManagerDao.retrieveDetailInfoByEmpNoYyyymmddInOutTp(one_yyyymmdd , emp_no , in_out_type);
		listInOutDetail		=	attendManagerDao.getList();
		
		return SUCCESS;
	}
	
	/**
	 * @param str 자를 문자열
	 * @param s		시작 index
	 * @param e		끝 index
	 * @return		String
	 */
	public String cutStr(String str , int s , int e) {
		
		return str.substring(s, e);
	}
	
	/**
	 * <pre>
	 * 근태관리-근태확인(관리자)
	 * Main Page Condition retrieve & etc.
	 * </pre>
	 * @author Yang Chang Hwan
	 * @since	2009/02/02
	 */
	public String execute() throws BaseException , SQLException {
		
		//세션을 얻는다.
//		session	=	ActionContext.getContext().getSession();
		
		if (!session.containsKey("user")) {
			return "login";
		}
		
		user = (User)session.get("user");
		
		empInfo = 	user.getEmpInfo();
		//사번
		semp_no	=	empInfo.get("emp_no");
		//그룹코드
		sgroup	=	empInfo.get("group_no");
		//팀코드
		sgroup = "";
		
		confirm_yn = "ALL";  //1/7
		
		steam		=	empInfo.get("team_no");
		
		emp_no		=	Integer.valueOf(empInfo.get("emp_no"));
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		commonDao					=	new CommonDao();
		
		commonDao.retrieveGroupListJoinAuthDept(Integer.valueOf(semp_no));
		
		setListGroup(commonDao.getList());
		
		s_date 						= 	commonDao.getMonthOfFirstDay();				//해당 月의 1일

		e_date						=	commonDao.getDate(0);						//오늘날짜
		
		commonDao.retireveCommonCode("100");												//출근유형 그룹코드
		
		List<HashMap <String, String>> inList = new ArrayList<HashMap<String, String>>();
		inList = commonDao.getList();
		
		HashMap<String, String> hm = new HashMap<String, String>();
		hm.put("cd_nm", "미입력");
		hm.put("cd", "XX");
		
		inList.add(hm);
		
		setListCheckInType(inList);											//출근유형 List
		
		
		commonDao.retireveCommonCode("101");												//퇴근유형 그룹코드	(group_cd = MAX(GROUP_cd) + 1 씩 증가 시킴.)
		
		inList = commonDao.getList();
		inList.add(hm);
		
		setListCheckOutType(inList);
		//setListCheckInType(commonDao.getList());											//출근유형 List
		
//		setListCheckOutType(commonDao.getList());											//퇴근유형 List
		
		commonDao.retireveCommonCode("102");												//휴가휴형 그룹코드
		setListVacationType(commonDao.getList());											//휴가 유형 List
		
	    //평일 출근 select 휴가 제외
	    attendManagerDao.retrieveDailyCheckIn();
	    dailyInCheckList = attendManagerDao.getList();
	    
		/**
		 * @since	2009.03.16
		 * @author Yang D
		 */
	    //평일 퇴근 select 휴가 제외
	    attendManagerDao.retrieveDailyCheckOut();
	    dailyOutCheckList = attendManagerDao.getList();
	    
	    
	    //평일 출근 select
	    attendManagerDao.retrieveDailyIn();
	    dailyInList = attendManagerDao.getList();
	    list_LL	=	attendManagerDao.getList_LL();
	    
	    /*
	    //평일 퇴근 select
	    attendManagerDao.retrieveDailyOut();
	    dailyOutList = attendManagerDao.getList();
	    
	    //휴일 출근 select
	    attendManagerDao.retrieveHolidayIn();
	    holidayInList = attendManagerDao.getList();
	    
	    //휴일 퇴근 select
	    attendManagerDao.retrieveHolidayOut();
	    holidayOutList = attendManagerDao.getList();
	    
	    //오전공가
	    attendManagerDao.retrieveDailyInAmPublicMission();
	    amPublicWork = attendManagerDao.getList();
	    
	    //오전휴가
	    attendManagerDao.retrieveDailyInAmRest();
	    amRest		=	attendManagerDao.getList();
	    
	    //오후공가
	    attendManagerDao.retrieveDailyOutPmPublicMission();
	    pmPublicWork	=	attendManagerDao.getList();
	    
	    //오후휴가
	    attendManagerDao.retrieveDailyOutPmPublicMission();
	    pmRest	=	attendManagerDao.getList();
	    
	    //미입력만 조회
	    commonDao.retrieveCommonSubCode("XX");
	    noWrite = commonDao.getList();
	    */
	    
	    /**
	     *	출근정보에 따른 퇴근정보 리스트조회 
	     */
	    attendManagerDao.retrieveOutDetailList();
	    
	    list_0001	=	attendManagerDao.getList_0001();
	    list_0002	=	attendManagerDao.getList_0002();
	    list_0003	=	attendManagerDao.getList_0003();
	    list_0005	=	attendManagerDao.getList_0005();
	    list_0007	=	attendManagerDao.getList_0007();
	    list_0008	=	attendManagerDao.getList_0008();
	    list_0009	=	attendManagerDao.getList_0009();
	    list_0004	=	attendManagerDao.getList_0004();
	    list_XX		=	attendManagerDao.getList_XX();
	    list_NN		=	attendManagerDao.getList_NN();
	    list_2001	=	attendManagerDao.getList_2001();
	    list_2002	=	attendManagerDao.getList_2002();
	    list_2003	=	attendManagerDao.getList_2003();
	    list_2004	=	attendManagerDao.getList_2004();
	    list_2005	=	attendManagerDao.getList_2005();
	    
		
		commonDao.retireveCommonCode("330");	//휴가추후 반영 여부 코드
		listAddVacation = commonDao.getList();
		
		//반일 + 일일휴가 
		HashMap<String , String> temp_hm = new HashMap<String, String>();
		temp_hm.put("cd"	, "HAVA");
		temp_hm.put("cd_nm"	, "반일 + 일일휴가");
		
		listAddVacation.add(temp_hm);

		return SUCCESS;
	}
	
	public String saveLateDetailExcel() throws BaseException, SQLException {
		
		
		//조건들을 하나로 묶음.
	    hmCondition = new HashMap<String, String>();
		
		hmCondition.put("e_date"			, e_date);			//끝날짜,오늘날짜
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		hmCondition.put("searchEmpNm"		, searchEmpNm);		//성명 조회
		hmCondition.put("late_absence"      , late_absence);    //출근유형
		
		
		
		///////////////////////////////////////////////////////////////////////////////////////////////////
//		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//		logger.info(hmCondition                                                                           );
//		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//		///////////////////////////////////////////////////////////////////////////////////////////////////
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		attendManagerDao.retrieveAttendDetailLateRowCount(hmCondition , emp_no, e_date.replace("-","") );		//row count
		
		rowCount = attendManagerDao.getRowCount();
		
		//System.out.println("rowCount====================>"+rowCount);
		

		
		//pDao = new PagingDAO(rowPerPage , 10 , rowCount , cur_page);				//페이징 처리 DAO
		
	     // start_row 					= pDao.getWriting_Start();				//시작 페이지 1
		start_row = 1;
	      //end_row   					= pDao.getWriting_End();				//끝페이지
	    
	    
	    
	    attendManagerDao.retireveAttendDetailLateList(hmCondition , start_row , rowCount , emp_no, e_date.replace("-", ""));
	  //확인여부가 'N' && p_count == 0
		//p_count = attendManagerDao.getP_count();
	    //System.out.println("list size =============== "+attendManagerDao.getList().size()+"]");
	    setList(attendManagerDao.getList());
	    
		return SUCCESS;
	}
	
public String saveLateExcel() throws BaseException, SQLException {
		
		
		//조건들을 하나로 묶음.
        hmCondition = new HashMap<String, String>();
		
		hmCondition.put("e_date"			, e_date);			//끝날짜,오늘날짜
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		hmCondition.put("searchEmpNm"		, searchEmpNm);		//성명 조회
		hmCondition.put("late_absence"      , late_absence);    //출근유형
		
		
		
		///////////////////////////////////////////////////////////////////////////////////////////////////
//		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//		logger.info(hmCondition                                                                           );
//		logger.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//		///////////////////////////////////////////////////////////////////////////////////////////////////
		
		attendManagerDao 			= 	new AttendManagerDao();
		
		attendManagerDao.retrieveAttendLateRowCount(hmCondition , emp_no, e_date.replace("-","") );		//row count
		
		rowCount = attendManagerDao.getRowCount();
		
		//System.out.println("rowCount====================>"+rowCount);
		

		
		//pDao = new PagingDAO(rowPerPage , 10 , rowCount , cur_page);				//페이징 처리 DAO
		
	     // start_row 					= pDao.getWriting_Start();				//시작 페이지 1
		start_row = 1;
	      //end_row   					= pDao.getWriting_End();				//끝페이지
	    
	    
	    
	    attendManagerDao.retireveAttendLateList(hmCondition , start_row , rowCount , emp_no, e_date.replace("-", ""));
	  //확인여부가 'N' && p_count == 0
		//p_count = attendManagerDao.getP_count();
	    //System.out.println("list size =============== "+attendManagerDao.getList().size()+"]");
	    setList(attendManagerDao.getList());
	    
		return SUCCESS;
	}
	/********************************** G E T T E R / S E T T E R 	S T A R T******************************************/
	
	public String getAbsence_type() {
		return absence_type;
	}
	
	public int[] getAemp_no() {
		return aemp_no;
	}
	
	
	public String getAjaxFlag() {
		return ajaxFlag;
	}
	
	/**
	 * @return the allInoutList
	 */
	public List<HashMap<String, String>> getAllInoutList() {
		return allInoutList;
	}

	/**
	 * @return the amPublicWork
	 */
	public List<HashMap<String, String>> getAmPublicWork() {
		return amPublicWork;
	}

	/**
	 * @return the amRest
	 */
	public List<HashMap<String, String>> getAmRest() {
		return amRest;
	}

	public String getChk_in_type() {
		return chk_in_type;
	}

	public String getChk_out_type() {
		return chk_out_type;
	}

	/**
	 * @return the close_dt_list
	 */
	public List<HashMap<String, String>> getClose_dt_list() {
		return close_dt_list;
	}
	
	public String getConfirm_yn() {
		return confirm_yn;
	}

	public int getCur_page() {
		return cur_page;
	}

	public List<HashMap<String, String>> getDailyInCheckList() {
		return dailyInCheckList;
	}

	public List<HashMap<String, String>> getDailyInList() {
		return dailyInList;
	}

	public List<HashMap<String, String>> getDailyOutCheckList() {
		return dailyOutCheckList;
	}

	public List<HashMap<String, String>> getDailyOutList() {
		return dailyOutList;
	}

	/**
	 * @return the detailPopTitle
	 */
	public String getDetailPopTitle() {
		return detailPopTitle;
	}

	
	public String getE_date() {
		return e_date;
	}

	public int getEnd_row() {
		return end_row;
	}

	/**
	 * @return the etc_emp_memo
	 */
	//public String[] getEtc_emp_memo() {
	//	return etc_emp_memo;
	//}

	public String[] getGroup_no() {
		return group_no;
	}

	public HashMap<String, String> getHmCondition() {
		return hmCondition;
	}

	public List<HashMap<String, String>> getHolidayInList() {
		return holidayInList;
	}

	public List<HashMap<String, String>> getHolidayOutList() {
		return holidayOutList;
	}

	public int getI_chk() {
		return i_chk;
	}

	public String[] getIn_out_detail() {
		return in_out_detail;
	}

	public String[] getIn_out_tp() {
		return in_out_tp;
	}

	/**
	 * @return the in_out_tp_condi
	 */
	public String getIn_out_tp_condi() {
		return in_out_tp_condi;
	}

	/**
	 * @return the in_out_type
	 */
	public String getIn_out_type() {
		return in_out_type;
	}

	public List<HashMap<String, String>> getList() {
		return list;
	}

	/**
	 * @return the list_0001
	 */
	public List<HashMap<String, String>> getList_0001() {
		return list_0001;
	}

	/**
	 * @return the list_0002
	 */
	public List<HashMap<String, String>> getList_0002() {
		return list_0002;
	}

	/**
	 * @return the list_0003
	 */
	public List<HashMap<String, String>> getList_0003() {
		return list_0003;
	}

	/**
	 * @return the list_0004
	 */
	public List<HashMap<String, String>> getList_0004() {
		return list_0004;
	}

	/**
	 * @return the list_0005
	 */
	public List<HashMap<String, String>> getList_0005() {
		return list_0005;
	}

	/**
	 * @return the list_2001
	 */
	public List<HashMap<String, String>> getList_2001() {
		return list_2001;
	}

	/**
	 * @return the list_2002
	 */
	public List<HashMap<String, String>> getList_2002() {
		return list_2002;
	}

	/**
	 * @return the list_2003
	 */
	public List<HashMap<String, String>> getList_2003() {
		return list_2003;
	}

	/**
	 * @return the list_2004
	 */
	public List<HashMap<String, String>> getList_2004() {
		return list_2004;
	}

	/**
	 * @return the list_2005
	 */
	public List<HashMap<String, String>> getList_2005() {
		return list_2005;
	}

	/**
	 * @return the list_LL
	 */
	public List<HashMap<String, String>> getList_LL() {
		return list_LL;
	}

	/**
	 * @return the list_NN
	 */
	public List<HashMap<String, String>> getList_NN() {
		return list_NN;
	}

	/**
	 * @return the list_XX
	 */
	public List<HashMap<String, String>> getList_XX() {
		return list_XX;
	}

	public List<HashMap<String, String>> getListCheckInType() {
		return listCheckInType;
	}

	public List<HashMap<String, String>> getListCheckOutType() {
		return listCheckOutType;
	}

	public List<HashMap<String, String>> getListEmp() {
		return listEmp;
	}

	public List<HashMap<String, String>> getListGroup() {
		return listGroup;
	}

	/**
	 * @return the listInOutDetail
	 */
	public List<HashMap<String, String>> getListInOutDetail() {
		return listInOutDetail;
	}

	public List<HashMap<String, String>> getListTeam() {
		return listTeam;
	}

	public List<HashMap<String, String>> getListVacationType() {
		return listVacationType;
	}

	public String getMgr_change_yn() {
		return mgr_change_yn;
	}
	public String[] getEtc_emp() {
		return etc_emp;
	}
	public String[] getMgr_etc() {
		return etc_mgr;
	}

	/**
	 * @return the msg
	 */
	public String getMsg() {
		return msg;
	}

	/**
	 * @return the noWrite
	 */
	public List<HashMap<String, String>> getNoWrite() {
		return noWrite;
	}

	/**
	 * @return the one_yyyymmdd
	 */
	public String getOne_yyyymmdd() {
		return one_yyyymmdd;
	}

	/**
	 * @return the p_count
	 */
	public int getP_count() {
		return p_count;
	}

	public PagingDAO getPDao() {
		return pDao;
	}

	/**
	 * @return the pmPublicWork
	 */
	public List<HashMap<String, String>> getPmPublicWork() {
		return pmPublicWork;
	}

	/**
	 * @return the pmRest
	 */
	public List<HashMap<String, String>> getPmRest() {
		return pmRest;
	}

	public int getRowCount() {
		return rowCount;
	}

	public int getRowPerPage() {
		return rowPerPage;
	}

	public int[] getS_chk() {
		return s_chk;
	}

	public String getS_date() {
		return s_date;
	}

	public String getSemp_no() {
		return semp_no;
	}

	public Map getSession() {
		return session;
	}

	public String getSgroup() {
		return sgroup;
	}

	public int getStart_row() {
		return start_row;
	}

	public String getSteam() {
		return steam;
	}

	public String[] getTeam_no() {
		return team_no;
	}

	public String getTemp() {
		return temp;
	}

	public String getUpdateArgs() {
		return updateArgs;
	}

	public User getUser() {
		return user;
	}

	public String getVacation_type() {
		return vacation_type;
	}
	
	public String getVacation_yn() {
		return vacation_yn;
	}
	
	public String getVacation_detail() {
		return vacation_detail;
	}
	

	public String[] getYyyymmdd() {
		return yyyymmdd;
	}

	/**
	 * <pre>
	 * 그룹/팀(부서)으로 소속한 사원들을 조회한다.
	 * </pre>
	 * @return
	 * @throws BaseException
	 */
	public String retrieveEmpNotInSelf() throws BaseException, SQLException {

		attendManagerDao = new AttendManagerDao();
		
		
		//세션을 얻는다.
		session	=	ActionContext.getContext().getSession();
		
		user = (User) session.get("user");
		
		empInfo = user.getEmpInfo();
		
		//{approv_yn=Y, rank_nm=대리, rank_no=6006, emp_no=136, group_nm=솔루션1그룹, group_no=5000, position_no=7004, position_nm=팀원, user_id=episod30, emp_nm=양창환, team_nm=2팀, team_no=5020}
		//System.out.println(empInfo);
		
		//사번
		String session_emp_no = empInfo.get("emp_no"); 
		
		listEmp	=	new ArrayList<HashMap<String,String>>();
		
		if (sgroup == null || sgroup.equals(CodeMetrix.ALL) || steam == null || steam.equals(CodeMetrix.ALL)) {
			return SUCCESS;
		}
		
//		empDao	=	new		EmpDao();
		//근태관리에서 승인자 본인의 정보는 배제함.
		listEmp = attendManagerDao.retrieveEmpNotInSelf(steam , session_emp_no);
		
		
		return SUCCESS;
	}

	/**
	 * <pre>
	 * 엑셀다운로드 버튼 클릭시 
	 * 엑셀파일로 조회리스트를 엑셀로 내려받는다.
	 * </pre>
	 * @return
	 * @throws BaseException
	 * @throws SQLException 
	 */
	public String saveExcel() throws BaseException, SQLException {
		
		attendManagerDao = new AttendManagerDao();
		
		//조건들을 하나로 묶음.
		hmCondition = new HashMap<String, String>();
		
		hmCondition.put("s_date"			, s_date);			//시작일
		hmCondition.put("e_date"			, e_date);			//끝날짜
		
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		
		hmCondition.put("in_out_tp_condi"	, in_out_tp_condi);		//출근/퇴근 구분
		hmCondition.put("chk_in_type"		, chk_in_type);		//출근
		hmCondition.put("chk_out_type"		, chk_out_type);	//퇴근
		
		hmCondition.put("vacation_yn"		, vacation_yn);	    //휴가여부
		hmCondition.put("vacation_type"		, vacation_type);	//휴가휴형
		hmCondition.put("vacation_gubun"	, vacation_gubun);	//휴가휴형
		hmCondition.put("vacation_detail"	, vacation_detail);	//휴가휴형
		
		hmCondition.put("absence_type"		, absence_type);	//결근유형
		hmCondition.put("confirm_yn"		, confirm_yn);		//승인여부
		hmCondition.put("mgr_change_yn"		, mgr_change_yn);		//확인자변경여부
		
		hmCondition.put("addVacation"		, addVacation);		//추가휴가반영
		hmCondition.put("addVacation_gubun"	, addVacation_gubun);		//추가휴가반영
		//20090927
		hmCondition.put("h_vacation_type"	, h_vacation_type);		//휴가조회
		
		hmCondition.put("sp_work_type"			, sp_work_type);		//특근 조회
		hmCondition.put("sp_work_gubun"			, sp_work_gubun);		//특근조회
		
		hmCondition.put("searchEmpNm"			, searchEmpNm);		//성명 조회
		
		attendManagerDao.retrieveAttendManagerRowCount(hmCondition , emp_no);		//row count
		
		rowCount = attendManagerDao.getRowCount();
		
//		logger.info(cur_page + "                          ----------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
//		logger.info(rowCount + "                          -----------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
		
		//pDao = new PagingDAO(1 , 10 , rowCount , cur_page);				//페이징 처리 DAO
		
//		start_row 					= pDao.getWriting_Start();				//시작 페이지 1
		start_row 					= 1;				//시작 페이지 1
	    
		//조회된 모든 결과를 페이지에 상관없이 엑셀로 저장함.
		attendManagerDao.retireveAttendManagerList(hmCondition, start_row, rowCount , emp_no);	//조회된 모든 결과를 페이지에 상관없이 엑셀로 저장함.	
		
		setList(attendManagerDao.getList());
		
		return SUCCESS;
	}
	
public String saveExcel_2() throws BaseException, SQLException {
		
		attendManagerDao = new AttendManagerDao();
		
		//조건들을 하나로 묶음.
		hmCondition = new HashMap<String, String>();
		
		hmCondition.put("s_date"			, s_date);			//시작일
		hmCondition.put("e_date"			, e_date);			//끝날짜
		
		hmCondition.put("sgroup"			, sgroup);			//그룹
		hmCondition.put("steam"				, steam);			//팀
		hmCondition.put("semp_no"			, semp_no);			//사번
		
		//hmCondition.put("xGroupNm"			, xGroupNm);		//그룹
		//hmCondition.put("xTeamNm"			, xTeamNm);			//팀
		//hmCondition.put("xEmpNm"			, xEmpNm);			//사번
		
		hmCondition.put("in_out_tp_condi"	, in_out_tp_condi);		//출근/퇴근 구분
		hmCondition.put("chk_in_type"		, chk_in_type);		//출근
		hmCondition.put("chk_out_type"		, chk_out_type);	//퇴근
		
		hmCondition.put("vacation_yn"		, vacation_yn);	    //휴가여부
		hmCondition.put("vacation_type"		, vacation_type);	//휴가휴형
		hmCondition.put("vacation_gubun"	, vacation_gubun);	//휴가휴형
		hmCondition.put("vacation_gubun"	, vacation_detail);	//휴가휴형
		
		hmCondition.put("absence_type"		, absence_type);	//결근유형
		hmCondition.put("confirm_yn"		, confirm_yn);		//승인여부
		hmCondition.put("mgr_change_yn"		, mgr_change_yn);		//확인자변경여부
		
		hmCondition.put("addVacation"		, addVacation);		//추가휴가반영
		hmCondition.put("addVacation_gubun"	, addVacation_gubun);		//추가휴가반영
		//20090927
		hmCondition.put("h_vacation_type"	, h_vacation_type);		//휴가조회
		
		hmCondition.put("sp_work_type"			, sp_work_type);		//특근 조회
		hmCondition.put("sp_work_gubun"			, sp_work_gubun);		//특근조회
		
		hmCondition.put("searchEmpNm"			, searchEmpNm);		//성명 조회
		
		attendManagerDao.retrieveAttendManagerRowCount_2(hmCondition , emp_no);		//row count
		
		rowCount = attendManagerDao.getRowCount();
		
		System.out.println("hmCondition------------"+hmCondition);
//		logger.info(cur_page + "                          ----------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
//		logger.info(rowCount + "                          -----------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
		
		//pDao = new PagingDAO(1 , 10 , rowCount , cur_page);				//페이징 처리 DAO
		
//		start_row 					= pDao.getWriting_Start();				//시작 페이지 1
		start_row 					= 1;				//시작 페이지 1
	    
		//조회된 모든 결과를 페이지에 상관없이 엑셀로 저장함.
		attendManagerDao.retireveAttendManagerList_2(hmCondition, start_row, rowCount , emp_no);	//조회된 모든 결과를 페이지에 상관없이 엑셀로 저장함.	
		
		System.out.println("list size =============== "+attendManagerDao.getList().size()+"]");
		setList(attendManagerDao.getList());
		
		
		
		
		return SUCCESS;
	}

	
	public void setAbsence_type(String absence_type) {
		this.absence_type = absence_type;
	}

	public void setAemp_no(int[] aemp_no) {
		this.aemp_no = aemp_no;
	}

	public void setAjaxFlag(String ajaxFlag) {
		this.ajaxFlag = ajaxFlag;
	}
	
	/**
	 * @param allInoutList the allInoutList to set
	 */
	public void setAllInoutList(List<HashMap<String, String>> allInoutList) {
		this.allInoutList = allInoutList;
	}

	/**
	 * @param amPublicWork the amPublicWork to set
	 */
	public void setAmPublicWork(List<HashMap<String, String>> amPublicWork) {
		this.amPublicWork = amPublicWork;
	}
	
	/**
	 * @param amRest the amRest to set
	 */
	public void setAmRest(List<HashMap<String, String>> amRest) {
		this.amRest = amRest;
	}

	public void setChk_in_type(String chk_in_type) {
		this.chk_in_type = chk_in_type;
	}

	public void setChk_out_type(String chk_out_type) {
		this.chk_out_type = chk_out_type;
	}

	/**
	 * @param close_dt_list the close_dt_list to set
	 */
	public void setClose_dt_list(List<HashMap<String, String>> close_dt_list) {
		this.close_dt_list = close_dt_list;
	}

	
	public void setConfirm_yn(String confirm_yn) {
		this.confirm_yn = confirm_yn;
	}

	public void setCur_page(int cur_page) {
		this.cur_page = cur_page;
	}


	public void setDailyInCheckList(List<HashMap<String, String>> dailyInCheckList) {
		this.dailyInCheckList = dailyInCheckList;
	}

	public void setDailyInList(List<HashMap<String, String>> dailyInList) {
		this.dailyInList = dailyInList;
	}


	public void setDailyOutCheckList(List<HashMap<String, String>> dailyOutCheckList) {
		this.dailyOutCheckList = dailyOutCheckList;
	}

	public void setDailyOutList(List<HashMap<String, String>> dailyOutList) {
		this.dailyOutList = dailyOutList;
	}

	/**
	 * @param detailPopTitle the detailPopTitle to set
	 */
	public void setDetailPopTitle(String detailPopTitle) {
		this.detailPopTitle = detailPopTitle;
	}

	public void setE_date(String e_date) {
		this.e_date = e_date;
	}

	public void setEmp_no(int emp_no) {
		this.emp_no = emp_no;
	}

	public void setEnd_row(int end_row) {
		this.end_row = end_row;
	}

	/**
	 * @param etc_emp_memo the etc_emp_memo to set
	 */
	public void setEtc_emp_memo(String[] etc_emp_memo) {
		this.etc_emp_memo = etc_emp_memo;
	}

	public void setEtc_mgr(String[] etc_mgr) {
		this.etc_mgr = etc_mgr;
	}
	
	
	
	public void setEtc_emp(String[] etcEmp) {
		etc_emp = etcEmp;
	}
	public void setGroup_no(String[] group_no) {
		this.group_no = group_no;
	}

	public void setHmCondition(HashMap<String, String> hmCondition) {
		this.hmCondition = hmCondition;
	}

	public void setHolidayInList(List<HashMap<String, String>> holidayInList) {
		this.holidayInList = holidayInList;
	}

	public void setHolidayOutList(List<HashMap<String, String>> holidayOutList) {
		this.holidayOutList = holidayOutList;
	}

	public void setI_chk(int i_chk) {
		this.i_chk = i_chk;
	}

	public void setIn_out_detail(String[] in_out_detail) {
		this.in_out_detail = in_out_detail;
	}

	public void setIn_out_tp(String[] in_out_tp) {
		this.in_out_tp = in_out_tp;
	}


	/**
	 * @param in_out_tp_condi the in_out_tp_condi to set
	 */
	public void setIn_out_tp_condi(String in_out_tp_condi) {
		this.in_out_tp_condi = in_out_tp_condi;
	}

	/**
	 * @param in_out_type the in_out_type to set
	 */
	public void setIn_out_type(String in_out_type) {
		this.in_out_type = in_out_type;
	}

	public void setList(List<HashMap<String, String>> list) {
		this.list = list;
	}
	
	
	/**
	 * @param list_0001 the list_0001 to set
	 */
	public void setList_0001(List<HashMap<String, String>> list_0001) {
		this.list_0001 = list_0001;
	}

	/**
	 * @param list_0002 the list_0002 to set
	 */
	public void setList_0002(List<HashMap<String, String>> list_0002) {
		this.list_0002 = list_0002;
	}
	
	/**
	 * @param list_0003 the list_0003 to set
	 */
	public void setList_0003(List<HashMap<String, String>> list_0003) {
		this.list_0003 = list_0003;
	}
	
	/**
	 * @param list_0004 the list_0004 to set
	 */
	public void setList_0004(List<HashMap<String, String>> list_0004) {
		this.list_0004 = list_0004;
	}

	/**
	 * @param list_0005 the list_0005 to set
	 */
	public void setList_0005(List<HashMap<String, String>> list_0005) {
		this.list_0005 = list_0005;
	}

	/**
	 * @param list_2001 the list_2001 to set
	 */
	public void setList_2001(List<HashMap<String, String>> list_2001) {
		this.list_2001 = list_2001;
	}

	/**
	 * @param list_2002 the list_2002 to set
	 */
	public void setList_2002(List<HashMap<String, String>> list_2002) {
		this.list_2002 = list_2002;
	}

	/**
	 * @param list_2003 the list_2003 to set
	 */
	public void setList_2003(List<HashMap<String, String>> list_2003) {
		this.list_2003 = list_2003;
	}

	/**
	 * @param list_2004 the list_2004 to set
	 */
	public void setList_2004(List<HashMap<String, String>> list_2004) {
		this.list_2004 = list_2004;
	}

	/**
	 * @param list_2005 the list_2005 to set
	 */
	public void setList_2005(List<HashMap<String, String>> list_2005) {
		this.list_2005 = list_2005;
	}
	
	public List<HashMap<String, String>> getList_0007() {
		return list_0007;
	}
	public void setList_0007(List<HashMap<String, String>> list_0007) {
		this.list_0007 = list_0007;
	}
	public List<HashMap<String, String>> getList_0008() {
		return list_0008;
	}
	public void setList_0008(List<HashMap<String, String>> list_0008) {
		this.list_0008 = list_0008;
	}
	public List<HashMap<String, String>> getList_0009() {
		return list_0009;
	}
	public void setList_0009(List<HashMap<String, String>> list_0009) {
		this.list_0009 = list_0009;
	}
	/**
	 * @param list_LL the list_LL to set
	 */
	public void setList_LL(List<HashMap<String, String>> list_LL) {
		this.list_LL = list_LL;
	}

	/**
	 * @param list_NN the list_NN to set
	 */
	public void setList_NN(List<HashMap<String, String>> list_NN) {
		this.list_NN = list_NN;
	}

	/**
	 * @param list_XX the list_XX to set
	 */
	public void setList_XX(List<HashMap<String, String>> list_XX) {
		this.list_XX = list_XX;
	}

	public void setListCheckInType(List<HashMap<String, String>> listCheckInType) {
		this.listCheckInType = listCheckInType;
	}

	public void setListCheckOutType(List<HashMap<String, String>> listCheckOutType) {
		this.listCheckOutType = listCheckOutType;
	}

	public void setListEmp(List<HashMap<String, String>> listEmp) {
		this.listEmp = listEmp;
	}

	public void setListGroup(List<HashMap<String, String>> listGroup) {
		this.listGroup = listGroup;
	}

	/**
	 * @param listInOutDetail the listInOutDetail to set
	 */
	public void setListInOutDetail(List<HashMap<String, String>> listInOutDetail) {
		this.listInOutDetail = listInOutDetail;
	}

	public void setListTeam(List<HashMap<String, String>> listTeam) {
		this.listTeam = listTeam;
	}

	public void setListVacationType(List<HashMap<String, String>> listVacationType) {
		this.listVacationType = listVacationType;
	}

	public void setMgr_change_yn(String mgr_change_yn) {
		this.mgr_change_yn = mgr_change_yn;
	}

	/**
	 * @param msg the msg to set
	 */
	public void setMsg(String msg) {
		this.msg = msg;
	}

	/**
	 * @param noWrite the noWrite to set
	 */
	public void setNoWrite(List<HashMap<String, String>> noWrite) {
		this.noWrite = noWrite;
	}

	/**
	 * @param one_yyyymmdd the one_yyyymmdd to set
	 */
	public void setOne_yyyymmdd(String one_yyyymmdd) {
		this.one_yyyymmdd = one_yyyymmdd.replace("-", "");
	}

	/**
	 * @param p_count the p_count to set
	 */
	public void setP_count(int p_count) {
		this.p_count = p_count;
	}

	public void setPDao(PagingDAO dao) {
		pDao = dao;
	}

	/**
	 * @param pmPublicWork the pmPublicWork to set
	 */
	public void setPmPublicWork(List<HashMap<String, String>> pmPublicWork) {
		this.pmPublicWork = pmPublicWork;
	}

	/**
	 * @param pmRest the pmRest to set
	 */
	public void setPmRest(List<HashMap<String, String>> pmRest) {
		this.pmRest = pmRest;
	}

	public void setRowCount(int rowCount) {
		this.rowCount = rowCount;
	}

	public void setRowPerPage(int rowPerPage) {
		this.rowPerPage = rowPerPage;
	}
	
	public void setS_chk(int[] s_chk) {
		this.s_chk = s_chk;
	}

	public void setS_date(String s_date) {
		this.s_date = s_date;
	}

	public void setSemp_no(String semp_no) {
		if (searchEmpNm.trim().length() > 0) {
			semp_no = "";
		}
		this.semp_no = semp_no;
	}

	public void setSession(Map session) {
		this.session = session;
	}

	public void setSgroup(String sgroup) {
		this.sgroup = sgroup;
	}

	public void setStart_row(int start_row) {
		this.start_row = start_row;
	}


	public void setSteam(String steam) {
		this.steam = steam;
	}

	public void setTeam_no(String[] team_no) {
		this.team_no = team_no;
	}

	public void setTemp(String temp) {
		this.temp = temp;
	}

	public void setUpdateArgs(String updateArgs) {
		this.updateArgs = updateArgs;
	}

	@Override
	public void setUser(User user) {
		this.user = user;
		
	}

	public void setVacation_type(String vacation_type) {
		this.vacation_type = vacation_type;
	}
	
	public void setVacation_yn(String vacation_yn) {
		this.vacation_yn = vacation_yn;
	}
	
	public void setVacation_detail(String vacation_detail) {
		this.vacation_detail = vacation_detail;
	}

	public void setYyyymmdd(String[] yyyymmdd) {
		this.yyyymmdd = yyyymmdd;
	}

	public List<HashMap<String, String>> getListAddVacation() {
		return listAddVacation;
	}

	public void setListAddVacation(List<HashMap<String, String>> listAddVacation) {
		this.listAddVacation = listAddVacation;
	}

	public String getAddVacation() {
		return addVacation;
	}

	public void setAddVacation(String addVacation) {
		this.addVacation = addVacation;
	}

	public List<HashMap<String, String>> getRestDaysVacationList() {
		return restDaysVacationList;
	}

	public void setRestDaysVacationList(
			List<HashMap<String, String>> restDaysVacationList) {
		this.restDaysVacationList = restDaysVacationList;
	}

	public List<HashMap<String, String>> getNightWorkVacationList() {
		return NightWorkVacationList;
	}

	public void setNightWorkVacationList(
			List<HashMap<String, String>> nightWorkVacationList) {
		NightWorkVacationList = nightWorkVacationList;
	}
	
	public String getSearchEmpNm() {
		return searchEmpNm;
	}

	public String getLate_absence() {
		return late_absence;
	}
	public void setLate_absence(String lateAbsence) {
		late_absence = lateAbsence;
	}
	
	
	public String getReq_Change() {
		return req_Change;
	}
	public void setReq_Change(String reqChange) {
		req_Change = reqChange;
	}
	public void setSearchEmpNm(String searchEmpNm) {
		this.searchEmpNm = searchEmpNm;
	}
	public String getChk_in_msg() {
		return chk_in_msg;
	}
	public void setChk_in_msg(String chkInMsg) {
		chk_in_msg = chkInMsg;
	}
	public String getChk_out_msg() {
		return chk_out_msg;
	}
	public void setChk_out_msg(String chkOutMsg) {
		chk_out_msg = chkOutMsg;
	}
	public String getYyyymmdd1() {
		return yyyymmdd1;
	}
	public void setYyyymmdd1(String yyyymmdd1) {
		this.yyyymmdd1 = yyyymmdd1;
	}

	

	/********************************** G E T T E R / S E T T E R 	E 	N 	D******************************************/
}
